RWTH - Mindstorms NXT Toolbox

Command Layer Structure


The functions of the RWTH - Mindstorms NXT Toolbox can be categorized into a multiple layer structure. On the lowest layer Low Level and Helper Functions are available, which mostly convert parameter modes to bytes words, determined by the LEGO direct commands documentation. The second layer includes Direct NXT Commands which are mapped from the LEGO direct command documentation without any limitations and can be identified by the NXT_* prefix. Also Bluetooth packet related functions can be found in this layer. Layer 3 provides High Level Functions for controlling the NXT motors, sensors and the Bluetooth connection. These functions are basically using the Direct NXT Commands of layer 2 to make the motor and sensor controlling more convenient and easily readable for the user. The top layer provides High Level Regulation functions for precise motor regulation and various utilities.



Layer Description Output/Motors Input/Sensors General Bluetooth / USB
4 High Level Regulation / Utilities MotorRotateAbs

WaitForMotor
  OptimizeToolboxPerformance COM_MakeBTConfigFile
3 High Level Functions SendMotorSettings
SetMotor
SetPower
SetAngleLimit
SetRampMode
SpeedRegulation
SyncToMotor

StopMotor

GetMotorSettings
GetMotor

ResetMotorAngle

SwitchLamp

SetMemoryCount
GetMemoryCount
OpenLight
OpenSound
OpenSwitch
OpenUltrasonic
OpenAccelerator
OpenInfrared
OpenCompass

GetLight
GetSound
GetSwitch
GetAccelerator
GetInfrared
GetUltrasonic

USMakeSnapshot
USGetSnapshotResults
GetCompass
CalibrateCompass

CloseSensor
readFromIniFile

MAP_GetCommModule
MAP_GetInputModule
MAP_GetOutputModule
MAP_GetSoundModule
MAP_GetUIModule

MAP_SetOutputModule
COM_OpenNXT
COM_OpenNXTEx

COM_CloseNXT

COM_ReadI2C
2 Direct NXT Commands NXT_SetOutputState

NXT_GetOutputState

NXT_ResetMotorPosition
NXT_SetInputMode

NXT_GetInputValues


NXT_ResetInputScaledValue

NXT_LSRead
NXT_LSWrite
NXT_LSGetStatus
NXT_PlayTone
NXT_PlaySoundFile
NXT_StopSoundPlayback

NXT_StartProgram
NXT_StopProgram

NXT_SendKeepAlive
NXT_GetBatteryLevel
NXT_GetFirmwareVersion
NXT_SetBrickName

NXT_ReadIOMap
NXT_WriteIOMap

NXT_MessageWrite
COM_CreatePacket
COM_SendPacket
COM_CollectPacket

COM_SetDefaultNXT
COM_GetDefaultNXT
1 Low Level Functions:
Helper, Conversion and
Lookup Functions
MOTOR_A
MOTOR_B
MOTOR_C

byte2outputmode
byte2regmode
byte2runstate
outputmode2byte
regmode2byte
runstate2byte


initializeGlobalMotorStateVar
resetMotorRegulation
SENSOR_1
SENSOR_2
SENSOR_3
SENSOR_4

byte2sensortype
byte2sensormode
sensortype2byte
sensormode2byte
DebugMode
isdebug

textOut

tictic (o)
toctoc (o)

dec2wordbytes
name2commandbytes
commandbyte2name
wordbytes2dec
checkStatusByte

createHandleStruct
checkHandleStruct

getLibusbErrorString
getVISAErrorString
getReplyLengthFromCmdByte

fantom_proto
libusb_proto
legend: NXT_* = NXT Direct commands without any limitations (mapped to the LEGO direct command documentation)
           COM_* = Functions related to the NXT communication
           MAP_* = Functions related to the NXT module maps
           bold = Main funcions or main group functions
           italic = private functions
           (o) = obsolete functions (will be removed in a future release)